package com.sonotec.scap.ventas.model.dao.jpa;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import com.sonotec.scap.common.util.Utilitario;
import com.sonotec.scap.ventas.model.TProducto;
import com.sonotec.scap.ventas.model.dao.EntidadDAO;

public class JPATProductoDAO implements EntidadDAO<TProducto>  
{
	private EntityManager em;
	
	public JPATProductoDAO(){
		em = Utilitario.getInstance().getEntityManager();
	}


	@Override
	public List<TProducto> findAll() {
		Query q = em.createQuery("select o from TProducto o");					
		return q.getResultList();
	}

	@Override
	public TProducto find(int id) {
		
		TProducto producto = em.find(TProducto.class, id);
		return producto;
	}

	@Override
	public TProducto findString(String id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public TProducto insert(TProducto o) 
	{		
		try
		{
			em.persist(o);				
		}
		
		catch (Exception ex)
		{
			return null;
			
		}
		return o;
	}

	@Override
	public TProducto update(TProducto o) {
		return em.merge(o);
		
	}

	@Override
	public void delete(TProducto o) {
		// TODO Auto-generated method stub
		
	}


	@Override
	public int findMaxCod() {
		try
		{
			Query q = em.createQuery("select max(cod) from TProducto");
			int maxCod = Integer.parseInt(q.toString());
			return maxCod;
		}
		catch(Exception ex)
		{			
			return 1;			
			
		}
		
	}


	

}
